home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DS-CD ROM 2 1993 August
/
DS CD-ROM 2.Ausgabe (August 1993).iso
/
programm
/
ds0045
/
spritsrc.exe
/
SPR_KONV.BAK
< prev
next >
Wrap
Text File
|
1991-08-30
|
3KB
|
89 lines
program spr_konv; {Sprite-Konverter für Turbo Pascal V1.2 vom 29.01.1991}
uses drv_link,graph;
type sprite_feld_record = record
x_gr : byte;
y_gr : byte;
memuse : word;
datenp : pointer;
savep : pointer;
end;
var graphdriver : integer;
graphmode : integer;
sprite_error : integer;
sprite_daten : array [0..1027] of byte;
sprite_feld : sprite_feld_record;
procedure load_sprite (fname : string);
var myfile : file;
t,u : integer;
begin
sprite_error:=-1;
{$I-}
assign(myfile,fname);
reset(myfile,1028);
blockread(myfile,sprite_daten[0],1);
close(myfile);
{$I+}
if ioresult=0 then
if (sprite_daten[0]=84) and (sprite_daten[1]=83) then
with sprite_feld do begin
x_gr:=sprite_daten[2];
y_gr:=sprite_daten[3];
memuse:=imagesize(1,1,x_gr,y_gr);
getmem(datenp,memuse);
getmem(savep,memuse);
getimage(0,0,x_gr-1,y_gr-1,savep^);
for t:=0 to x_gr-1 do for u:=0 to y_gr-1 do
putpixel(t,u,sprite_daten[4+t*32+u]);
getimage(0,0,x_gr-1,y_gr-1,datenp^);
putimage(0,0,savep^,0);
sprite_error:=0;
end;
end;
procedure save_sprite (fname : string);
var myfile : file;
t,u : integer;
begin
{$I-}
assign(myfile,fname);
rewrite(myfile,2);
blockwrite(myfile,sprite_daten[0],2);
blockwrite(myfile,sprite_feld.datenp^,sprite_feld.memuse shr 1);
close(myfile);
{$I+}
if ioresult<>0 then sprite_error:=-1;
end;
begin
if paramcount<>2 then begin
writeln ('Sie müssen als ersten Parameter des Programmes den Namen der');
writeln ('Sprite-Quelldatei und danach noch den Namen der neuen berechneten');
writeln ('Sprite-Zieldatei angeben.');
halt;
end;
graphdriver:=0 ; graphmode:=0;
initgraph(graphdriver,graphmode,'');
if (graphresult<>0) then begin
writeln ('Es kann kein Grafikmodus aktiviert werden - Konvertierung ist unmöglich!');
halt;
end;
load_sprite(paramstr(1));
if sprite_error<>0 then begin
closegraph;
writeln ('Die Sprite-Quelldatei existiert nicht, ist eventuell defekt');
writeln ('oder bei der angegebenen Datei handelt es sich nicht um eine');
writeln ('Datei vom Sprite-Editor (SPRITEED.EXE).');
halt;
end;
save_sprite(paramstr(2));
if sprite_error<>0 then begin
closegraph;
writeln ('Die Sprite-Zieldatei konnte nicht gespeichert werden.');
halt;
end;
closegraph;
writeln ('Die Sprite-Quelldatei wurde erfolgreich konvertiert.');
end.